Skip to content

C# macos support#1576

Open
silesmo wants to merge 1 commit intobytecodealliance:mainfrom
Nor2-io:dev/timmy/csharp-macos-support
Open

C# macos support#1576
silesmo wants to merge 1 commit intobytecodealliance:mainfrom
Nor2-io:dev/timmy/csharp-macos-support

Conversation

@silesmo
Copy link
Copy Markdown
Member

@silesmo silesmo commented Mar 31, 2026

Build and test it ourselves since it's not a published package based on: dotnet/runtimelab#2119

@silesmo silesmo requested review from jsturtevant and yowl March 31, 2026 17:16
@silesmo silesmo force-pushed the dev/timmy/csharp-macos-support branch 3 times, most recently from facead9 to 0df3a74 Compare March 31, 2026 19:07
@silesmo silesmo force-pushed the dev/timmy/csharp-macos-support branch from 0df3a74 to 7373933 Compare March 31, 2026 19:48
Copy link
Copy Markdown
Collaborator

@yowl yowl left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Just curious about fixing the commit.

lang: csharp
runs-on: ${{ matrix.os }}
env:
RUNTIMELAB_COMMIT: '4cac3ab5c8e97fda69c23dfca41ace964babc05e'
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Do we need to fix a commit?

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Maybe not, was just for consistency in case the latest version caused something to break. But we can remove it if you want?

./build.sh libs -c Release /p:NuGetAudit=false
LLVM_CMAKE_CONFIG_RELEASE=$(brew --prefix llvm@18)/lib/cmake/llvm \
src/coreclr/build-runtime.sh -arm64 -release -os osx -outputrid osx-arm64 -component llvmjit
cp artifacts/bin/coreclr/osx.arm64.Release/libclrjit_universal_llvm32_arm64.dylib artifacts/bin/coreclr/osx.arm64.Release/ilc-published/
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Interesting, something must be missing in the runtimelab build to make this necessary. Not saying anything needs changing, just if we want to push this to runtimelab, we will have to make the build copy these files.

<PackageReference Include="Microsoft.DotNet.ILCompiler.LLVM" Version="10.0.0-*" />
<PackageReference Include="runtime.{os}-x64.Microsoft.DotNet.ILCompiler.LLVM" Version="10.0.0-*" />
<PackageReference Include="Microsoft.DotNet.ILCompiler.LLVM" Version="{ilc_version}" />
<PackageReference Include="runtime.{os}-{arch}.Microsoft.DotNet.ILCompiler.LLVM" Version="{ilc_version}" />
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This might be a problem for arm64 on windows as we don't have that either.

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes this is true. I can add a not supported error for now?

@yowl
Copy link
Copy Markdown
Collaborator

yowl commented Apr 4, 2026

What is the effect on the build time? An alternative is to push whatever might be needed to runtimelab and will build the nuget there.

@silesmo
Copy link
Copy Markdown
Member Author

silesmo commented Apr 10, 2026

What is the effect on the build time? An alternative is to push whatever might be needed to runtimelab and will build the nuget there.

It took 36m 36s
https://github.com/bytecodealliance/wit-bindgen/actions/runs/23816345703/job/69416768215?pr=1576

But the build of runtimelab took 27m and 43s of that time and it gets cached so it wont take so long for following runs (This is actually a reason to pin it to a specific hash so we don't have to rebuild every time @yowl)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants